package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.DataSyncMapper;
import com.ruoyi.common.core.domain.entity.DataSync;
import com.ruoyi.system.service.IDataSyncService;
import com.ruoyi.common.core.text.Convert;

/**
 * 数据同步Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-01-23
 */
@Service
public class DataSyncServiceImpl implements IDataSyncService 
{
    @Autowired
    private DataSyncMapper dataSyncMapper;

    /**
     * 查询数据同步
     * 
     * @param syncId 数据同步主键
     * @return 数据同步
     */
    @Override
    public DataSync selectDataSyncBySyncId(Long syncId)
    {
        return dataSyncMapper.selectDataSyncBySyncId(syncId);
    }

    /**
     * 查询数据同步列表
     * 
     * @param dataSync 数据同步
     * @return 数据同步
     */
    @Override
    public List<DataSync> selectDataSyncList(DataSync dataSync)
    {
        return dataSyncMapper.selectDataSyncList(dataSync);
    }

    /**
     * 新增数据同步
     * 
     * @param dataSync 数据同步
     * @return 结果
     */
    @Override
    public int insertDataSync(DataSync dataSync)
    {
        dataSync.setCreateTime(DateUtils.getNowDate());
        return dataSyncMapper.insertDataSync(dataSync);
    }

    /**
     * 批量新增数据同步
     *
     * @param list 数据同步集合
     * @return 结果
     */
    @Override
    public int insertDataSyncBatch(List<DataSync> list) {
        return dataSyncMapper.insertDataSyncBatch(list);
    }

    /**
     * 修改数据同步
     * 
     * @param dataSync 数据同步
     * @return 结果
     */
    @Override
    public int updateDataSync(DataSync dataSync)
    {
        dataSync.setUpdateTime(DateUtils.getNowDate());
        return dataSyncMapper.updateDataSync(dataSync);
    }

    /**
     * 批量修改数据同步
     *
     * @param list 数据同步集合
     * @return 结果
     */
    @Override
    public int updateDataSyncBatch(List<DataSync> list) {
        return dataSyncMapper.updateDataSyncBatch(list);
    }

    /**
     * 调用存储过程同步用户行为数据
     *
     * @param limitCount 每次处理的记录数
     */
    @Override
    public void syncUserBehaviorData(int limitCount) {
        dataSyncMapper.syncUserBehaviorData(limitCount);
    }

    /**
     * 批量删除数据同步
     * 
     * @param syncIds 需要删除的数据同步主键
     * @return 结果
     */
    @Override
    public int deleteDataSyncBySyncIds(String syncIds)
    {
        return dataSyncMapper.deleteDataSyncBySyncIds(Convert.toStrArray(syncIds));
    }

    /**
     * 删除数据同步信息
     * 
     * @param syncId 数据同步主键
     * @return 结果
     */
    @Override
    public int deleteDataSyncBySyncId(Long syncId)
    {
        return dataSyncMapper.deleteDataSyncBySyncId(syncId);
    }
}
